/*
Copyright (C) 2009  Raymond Jeon
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/




#include "gl_lib_lock.h"
#include "gl_lib_include.h"



HLOCK GlFileLock(char *szFile)
{
	int h;
	char szLockFile[_MAXPATH+1];

	GlSprintf(szLockFile, _MAXPATH, "%s.lock", szFile);

	h = open(szLockFile, O_RDWR | O_EXCL | O_CREAT | O_TEMPORARY, 0666);
	if (h == -1)
		return -1;
	
	return h;
}

void GlFileUnLock(char *szFile, HLOCK h)
{
	char szLockFile[_MAXPATH+1];

	close(h);

	GlSprintf(szLockFile, _MAXPATH, "%s.lock", szFile);
	if (GlFileExist(szLockFile))
	{
		GLETRACE("unlockerror (%s)", szLockFile);
	}
}



